"undefined" == typeof jwplayer && (jwplayer = function(e) {
        if (jwplayer.api) return jwplayer.api.selectPlayer(e)
    }, jwplayer.version = "6.8.4616", jwplayer.vid = document.createElement("video"), jwplayer.audio = document.createElement("audio"), jwplayer.source = document.createElement("source"), function(e) {
        function a(h) {
            return function() {
                return b(h)
            }
        }

        function l(h, b, a, k, j) {
            return function() {
                var d, f;
                if (j) a(h);
                else {
                    try {
                        if (d = h.responseXML)
                            if (f = d.firstChild, d.lastChild && "parsererror" === d.lastChild.nodeName) {
                                k && k("Invalid XML");
                                return
                            }
                    } catch (g) {}
                    if (d && f) return a(h);
                    (d = c.parseXML(h.responseText)) && d.firstChild ? (h = c.extend({}, h, {
                        responseXML: d
                    }), a(h)) : k && k(h.responseText ? "Invalid XML" : b)
                }
            }
        }
        var g = document,
            f = window,
            d = navigator,
            c = e.utils = function() {};
        c.exists = function(h) {
            switch (typeof h) {
                case "string":
                    return 0 < h.length;
                case "object":
                    return null !== h;
                case "undefined":
                    return !1
            }
            return !0
        };
        c.styleDimension = function(h) {
            return h + (0 < h.toString().indexOf("%") ? "" : "px")
        };
        c.getAbsolutePath = function(h, b) {
            c.exists(b) || (b = g.location.href);
            if (c.exists(h)) {
                var a;
                if (c.exists(h)) {
                    a = h.indexOf("://");
                    var k = h.indexOf("?");
                    a = 0 < a && (0 > k || k > a)
                } else a = void 0;
                if (a) return h;
                a = b.substring(0, b.indexOf("://") + 3);
                var k = b.substring(a.length, b.indexOf("/", a.length + 1)),
                    j;
                0 === h.indexOf("/") ? j = h.split("/") : (j = b.split("?")[0], j = j.substring(a.length + k.length + 1, j.lastIndexOf("/")), j = j.split("/").concat(h.split("/")));
                for (var d = [], f = 0; f < j.length; f++) j[f] && (c.exists(j[f]) && "." != j[f]) && (".." == j[f] ? d.pop() : d.push(j[f]));
                return a + k + "/" + d.join("/")
            }
        };
        c.extend = function() {
            var h = c.extend.arguments;
            if (1 < h.length) {
                for (var a = 1; a < h.length; a++) c.foreach(h[a], function(a, k) {
                    try {
                        c.exists(k) && (h[0][a] = k)
                    } catch (b) {}
                });
                return h[0]
            }
            return null
        };
        var m = window.console = window.console || {
            log: function() {}
        };
        c.log = function() {
            var h = Array.prototype.slice.call(arguments, 0);
            "object" === typeof m.log ? m.log(h) : m.log.apply(m, h)
        };
        var b = c.userAgentMatch = function(h) {
            return null !== d.userAgent.toLowerCase().match(h)
        };
        c.isIE = c.isMSIE = a(/msie/i);
        c.isFF = a(/firefox/i);
        c.isChrome = a(/chrome/i);
        c.isIPod = a(/iP(hone|od)/i);
        c.isIPad =
            a(/iPad/i);
        c.isSafari602 = a(/Macintosh.*Mac OS X 10_8.*6\.0\.\d* Safari/i);
        c.isIETrident = function(h) {
            return h ? (h = parseFloat(h).toFixed(1), b(RegExp("msie\\s*" + h + "|trident/.+rv:\\s*" + h, "i"))) : b(/msie|trident/i)
        };
        c.isSafari = function() {
            return b(/safari/i) && !b(/chrome/i) && !b(/chromium/i) && !b(/android/i)
        };
        c.isIOS = function(h) {
            return h ? b(RegExp("iP(hone|ad|od).+\\sOS\\s" + h, "i")) : b(/iP(hone|ad|od)/i)
        };
        c.isAndroid = function(h, a) {
            var c = a ? !b(/chrome\/[23456789]/i) : !0;
            return h ? c && b(RegExp("android.*" + h, "i")) : c &&
                b(/android/i)
        };
        c.isMobile = function() {
            return c.isIOS() || c.isAndroid()
        };
        c.saveCookie = function(h, a) {
            g.cookie = "jwplayer." + h + "\x3d" + a + "; path\x3d/"
        };
        c.getCookies = function() {
            for (var h = {}, a = g.cookie.split("; "), c = 0; c < a.length; c++) {
                var k = a[c].split("\x3d");
                0 === k[0].indexOf("jwplayer.") && (h[k[0].substring(9, k[0].length)] = k[1])
            }
            return h
        };
        c.typeOf = function(h) {
            var a = typeof h;
            return "object" === a ? !h ? "null" : h instanceof Array ? "array" : a : a
        };
        c.translateEventResponse = function(h, a) {
            var b = c.extend({}, a);
            if (h == e.events.JWPLAYER_FULLSCREEN &&
                !b.fullscreen) b.fullscreen = "true" == b.message ? !0 : !1, delete b.message;
            else if ("object" == typeof b.data) {
                var k = b.data;
                delete b.data;
                b = c.extend(b, k)
            } else "object" == typeof b.metadata && c.deepReplaceKeyName(b.metadata, ["__dot__", "__spc__", "__dsh__", "__default__"], [".", " ", "-", "default"]);
            c.foreach(["position", "duration", "offset"], function(h, a) {
                b[a] && (b[a] = Math.round(1E3 * b[a]) / 1E3)
            });
            return b
        };
        c.flashVersion = function() {
            if (c.isAndroid()) return 0;
            var h = d.plugins,
                a;
            try {
                if ("undefined" !== h && (a = h["Shockwave Flash"])) return parseInt(a.description.replace(/\D+(\d+)\..*/,
                    "$1"), 10)
            } catch (b) {}
            if ("undefined" != typeof f.ActiveXObject) try {
                if (a = new f.ActiveXObject("ShockwaveFlash.ShockwaveFlash")) return parseInt(a.GetVariable("$version").split(" ")[1].split(",")[0], 10)
            } catch (k) {}
            return 0
        };
        c.getScriptPath = function(h) {
            for (var a = g.getElementsByTagName("script"), b = 0; b < a.length; b++) {
                var c = a[b].src;
                if (c && 0 <= c.indexOf(h)) return c.substr(0, c.indexOf(h))
            }
            return ""
        };
        c.deepReplaceKeyName = function(h, a, b) {
            switch (e.utils.typeOf(h)) {
                case "array":
                    for (var k = 0; k < h.length; k++) h[k] = e.utils.deepReplaceKeyName(h[k],
                        a, b);
                    break;
                case "object":
                    c.foreach(h, function(c, k) {
                        var d;
                        if (a instanceof Array && b instanceof Array) {
                            if (a.length != b.length) return;
                            d = a
                        } else d = [a];
                        for (var f = c, g = 0; g < d.length; g++) f = f.replace(RegExp(a[g], "g"), b[g]);
                        h[f] = e.utils.deepReplaceKeyName(k, a, b);
                        c != f && delete h[c]
                    })
            }
            return h
        };
        var p = c.pluginPathType = {
            ABSOLUTE: 0,
            RELATIVE: 1,
            CDN: 2
        };
        c.getPluginPathType = function(h) {
            if ("string" == typeof h) {
                h = h.split("?")[0];
                var a = h.indexOf("://");
                if (0 < a) return p.ABSOLUTE;
                var b = h.indexOf("/");
                h = c.extension(h);
                return 0 > a &&
                    0 > b && (!h || !isNaN(h)) ? p.CDN : p.RELATIVE
            }
        };
        c.getPluginName = function(h) {
            return h.replace(/^(.*\/)?([^-]*)-?.*\.(swf|js)$/, "$2")
        };
        c.getPluginVersion = function(h) {
            return h.replace(/[^-]*-?([^\.]*).*$/, "$1")
        };
        c.isYouTube = function(h) {
            return /^(http|\/\/).*(youtube\.com|youtu\.be)\/.+/.test(h)
        };
        c.youTubeID = function(h) {
            try {
                return /v[=\/]([^?&]*)|youtu\.be\/([^?]*)|^([\w-]*)$/i.exec(h).slice(1).join("").replace("?", "")
            } catch (a) {
                return ""
            }
        };
        c.isRtmp = function(h, a) {
            return 0 === h.indexOf("rtmp") || "rtmp" == a
        };
        c.foreach =
            function(a, b) {
                var d, k;
                for (d in a) "function" == c.typeOf(a.hasOwnProperty) ? a.hasOwnProperty(d) && (k = a[d], b(d, k)) : (k = a[d], b(d, k))
            };
        c.isHTTPS = function() {
            return 0 === f.location.href.indexOf("https")
        };
        c.repo = function() {
            var a = "http://p.jwpcdn.com/" + e.version.split(/\W/).splice(0, 2).join("/") + "/";
            try {
                c.isHTTPS() && (a = a.replace("http://", "https://ssl."))
            } catch (b) {}
            return a
        };
        c.ajax = function(a, b, d, k) {
            var j;
            0 < a.indexOf("#") && (a = a.replace(/#.*$/, ""));
            if (a && 0 <= a.indexOf("://") && a.split("/")[2] != f.location.href.split("/")[2] &&
                c.exists(f.XDomainRequest)) j = new f.XDomainRequest, j.onload = l(j, a, b, d, k), j.ontimeout = j.onprogress = function() {}, j.timeout = 5E3;
            else if (c.exists(f.XMLHttpRequest)) {
                var g = j = new f.XMLHttpRequest,
                    t = a;
                j.onreadystatechange = function() {
                    if (4 === g.readyState) switch (g.status) {
                        case 200:
                            l(g, t, b, d, k)();
                            break;
                        case 404:
                            d("File not found")
                    }
                }
            } else return d && d(), j;
            j.overrideMimeType && j.overrideMimeType("text/xml");
            j.onerror = function() {
                d("Error loading file")
            };
            setTimeout(function() {
                try {
                    j.open("GET", a, !0), j.send()
                } catch (b) {
                    d &&
                        d(a)
                }
            }, 0);
            return j
        };
        c.parseXML = function(a) {
            var b;
            try {
                if (f.DOMParser) {
                    if (b = (new f.DOMParser).parseFromString(a, "text/xml"), b.childNodes && b.childNodes.length && "parsererror" == b.childNodes[0].firstChild.nodeName) return
                } else b = new f.ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a)
            } catch (c) {
                return
            }
            return b
        };
        c.filterPlaylist = function(a, b) {
            var d = [],
                k, j, f, g;
            for (k = 0; k < a.length; k++)
                if (j = c.extend({}, a[k]), j.sources = c.filterSources(j.sources), 0 < j.sources.length) {
                    for (f = 0; f < j.sources.length; f++) g =
                        j.sources[f], g.label || (g.label = f.toString());
                    d.push(j)
                }
            if (b && 0 === d.length)
                for (k = 0; k < a.length; k++)
                    if (j = c.extend({}, a[k]), j.sources = c.filterSources(j.sources, !0), 0 < j.sources.length) {
                        for (f = 0; f < j.sources.length; f++) g = j.sources[f], g.label || (g.label = f.toString());
                        d.push(j)
                    }
            return d
        };
        c.filterSources = function(a, b) {
            var d, k, j = c.extensionmap;
            if (a) {
                k = [];
                for (var f = 0; f < a.length; f++) {
                    var g = a[f].type,
                        m = a[f].file;
                    m && (m = c.trim(m));
                    g || (g = j.extType(c.extension(m)), a[f].type = g);
                    b ? e.embed.flashCanPlay(m, g) && (d || (d = g),
                        g == d && k.push(c.extend({}, a[f]))) : c.canPlayHTML5(g) && (d || (d = g), g == d && k.push(c.extend({}, a[f])))
                }
            }
            return k
        };
        c.canPlayHTML5 = function(a) {
            if (c.isAndroid() && ("hls" == a || "m3u" == a || "m3u8" == a)) return !1;
            a = c.extensionmap.types[a];
            return !!a && !!e.vid.canPlayType && e.vid.canPlayType(a)
        };
        c.seconds = function(a) {
            a = a.replace(",", ".");
            var b = a.split(":"),
                c = 0;
            "s" == a.slice(-1) ? c = parseFloat(a) : "m" == a.slice(-1) ? c = 60 * parseFloat(a) : "h" == a.slice(-1) ? c = 3600 * parseFloat(a) : 1 < b.length ? (c = parseFloat(b[b.length - 1]), c += 60 * parseFloat(b[b.length -
                2]), 3 == b.length && (c += 3600 * parseFloat(b[b.length - 3]))) : c = parseFloat(a);
            return c
        };
        c.serialize = function(a) {
            return null == a ? null : "true" == a.toString().toLowerCase() ? !0 : "false" == a.toString().toLowerCase() ? !1 : isNaN(Number(a)) || 5 < a.length || 0 === a.length ? a : Number(a)
        }
    }(jwplayer), function(e) {
        var a = "video/",
            l = e.foreach,
            g = {
                mp4: a + "mp4",
                vorbis: "audio/ogg",
                ogg: a + "ogg",
                webm: a + "webm",
                aac: "audio/mp4",
                mp3: "audio/mpeg",
                hls: "application/vnd.apple.mpegurl"
            },
            f = {
                mp4: g.mp4,
                f4v: g.mp4,
                m4v: g.mp4,
                mov: g.mp4,
                m4a: g.aac,
                f4a: g.aac,
                aac: g.aac,
                mp3: g.mp3,
                ogv: g.ogg,
                ogg: g.vorbis,
                oga: g.vorbis,
                webm: g.webm,
                m3u8: g.hls,
                hls: g.hls
            },
            a = "video",
            a = {
                flv: a,
                f4v: a,
                mov: a,
                m4a: a,
                m4v: a,
                mp4: a,
                aac: a,
                f4a: a,
                mp3: "sound",
                smil: "rtmp",
                m3u8: "hls",
                hls: "hls"
            },
            d = e.extensionmap = {};
        l(f, function(a, f) {
            d[a] = {
                html5: f
            }
        });
        l(a, function(a, f) {
            d[a] || (d[a] = {});
            d[a].flash = f
        });
        d.types = g;
        d.mimeType = function(a) {
            var d;
            l(g, function(b, f) {
                !d && f == a && (d = b)
            });
            return d
        };
        d.extType = function(a) {
            return d.mimeType(f[a])
        }
    }(jwplayer.utils), function(e) {
        var a = e.loaderstatus = {
                NEW: 0,
                LOADING: 1,
                ERROR: 2,
                COMPLETE: 3
            },
            l = document;
        e.scriptloader = function(g) {
            function f() {
                c = a.ERROR;
                b.sendEvent(m.ERROR)
            }

            function d() {
                c = a.COMPLETE;
                b.sendEvent(m.COMPLETE)
            }
            var c = a.NEW,
                m = jwplayer.events,
                b = new m.eventdispatcher;
            e.extend(this, b);
            this.load = function() {
                var b = e.scriptloader.loaders[g];
                if (b && (b.getStatus() == a.NEW || b.getStatus() == a.LOADING)) b.addEventListener(m.ERROR, f), b.addEventListener(m.COMPLETE, d);
                else if (e.scriptloader.loaders[g] = this, c == a.NEW) {
                    c = a.LOADING;
                    var h = l.createElement("script");
                    h.addEventListener ? (h.onload = d, h.onerror =
                        f) : h.readyState && (h.onreadystatechange = function() {
                        ("loaded" == h.readyState || "complete" == h.readyState) && d()
                    });
                    l.getElementsByTagName("head")[0].appendChild(h);
                    h.src = g
                }
            };
            this.getStatus = function() {
                return c
            }
        };
        e.scriptloader.loaders = {}
    }(jwplayer.utils), function(e) {
        e.trim = function(a) {
            return a.replace(/^\s*/, "").replace(/\s*$/, "")
        };
        e.pad = function(a, e, g) {
            for (g || (g = "0"); a.length < e;) a = g + a;
            return a
        };
        e.xmlAttribute = function(a, e) {
            for (var g = 0; g < a.attributes.length; g++)
                if (a.attributes[g].name && a.attributes[g].name.toLowerCase() ==
                    e.toLowerCase()) return a.attributes[g].value.toString();
            return ""
        };
        e.extension = function(a) {
            if (!a || "rtmp" == a.substr(0, 4)) return "";
            a = a.substring(a.lastIndexOf("/") + 1, a.length).split("?")[0].split("#")[0];
            if (-1 < a.lastIndexOf(".")) return a.substr(a.lastIndexOf(".") + 1, a.length).toLowerCase()
        };
        e.stringToColor = function(a) {
            a = a.replace(/(#|0x)?([0-9A-F]{3,6})$/gi, "$2");
            3 == a.length && (a = a.charAt(0) + a.charAt(0) + a.charAt(1) + a.charAt(1) + a.charAt(2) + a.charAt(2));
            return parseInt(a, 16)
        }
    }(jwplayer.utils), function(e) {
        var a =
            "touchmove",
            l = "touchstart";
        e.touch = function(g) {
            function f(k) {
                k.type == l ? (b = !0, h = c(n.DRAG_START, k)) : k.type == a ? b && (q || (d(n.DRAG_START, k, h), q = !0), d(n.DRAG, k)) : (b && (q ? d(n.DRAG_END, k) : (k.cancelBubble = !0, d(n.TAP, k))), b = q = !1, h = null)
            }

            function d(a, b, d) {
                if (p[a] && (b.preventManipulation && b.preventManipulation(), b.preventDefault && b.preventDefault(), b = d ? d : c(a, b))) p[a](b)
            }

            function c(a, b) {
                var d = null;
                b.touches && b.touches.length ? d = b.touches[0] : b.changedTouches && b.changedTouches.length && (d = b.changedTouches[0]);
                if (!d) return null;
                var c = m.getBoundingClientRect(),
                    d = {
                        type: a,
                        target: m,
                        x: d.pageX - window.pageXOffset - c.left,
                        y: d.pageY,
                        deltaX: 0,
                        deltaY: 0
                    };
                a != n.TAP && h && (d.deltaX = d.x - h.x, d.deltaY = d.y - h.y);
                return d
            }
            var m = g,
                b = !1,
                p = {},
                h = null,
                q = !1,
                n = e.touchEvents;
            document.addEventListener(a, f);
            document.addEventListener("touchend", function(a) {
                b && q && d(n.DRAG_END, a);
                b = q = !1;
                h = null
            });
            document.addEventListener("touchcancel", f);
            g.addEventListener(l, f);
            g.addEventListener("touchend", f);
            this.addEventListener = function(a, b) {
                p[a] = b
            };
            this.removeEventListener =
                function(a) {
                    delete p[a]
                };
            return this
        }
    }(jwplayer.utils), function(e) {
        e.touchEvents = {
            DRAG: "jwplayerDrag",
            DRAG_START: "jwplayerDragStart",
            DRAG_END: "jwplayerDragEnd",
            TAP: "jwplayerTap"
        }
    }(jwplayer.utils), function(e) {
        e.key = function(a) {
            var l, g, f;
            this.edition = function() {
                return f && f.getTime() < (new Date).getTime() ? "invalid" : l
            };
            this.token = function() {
                return g
            };
            e.exists(a) || (a = "");
            try {
                a = e.tea.decrypt(a, "36QXq4W@GSBV^teR");
                var d = a.split("/");
                (l = d[0]) ? /^(free|pro|premium|ads)$/i.test(l) ? (g = d[1], d[2] && 0 < parseInt(d[2]) &&
                    (f = new Date, f.setTime(String(d[2])))) : l = "invalid": l = "free"
            } catch (c) {
                l = "invalid"
            }
        }
    }(jwplayer.utils), function(e) {
        var a = e.tea = {};
        a.encrypt = function(f, d) {
            if (0 == f.length) return "";
            var c = a.strToLongs(g.encode(f));
            1 >= c.length && (c[1] = 0);
            for (var m = a.strToLongs(g.encode(d).slice(0, 16)), b = c.length, e = c[b - 1], h = c[0], q, n = Math.floor(6 + 52 / b), k = 0; 0 < n--;) {
                k += 2654435769;
                q = k >>> 2 & 3;
                for (var j = 0; j < b; j++) h = c[(j + 1) % b], e = (e >>> 5 ^ h << 2) + (h >>> 3 ^ e << 4) ^ (k ^ h) + (m[j & 3 ^ q] ^ e), e = c[j] += e
            }
            c = a.longsToStr(c);
            return l.encode(c)
        };
        a.decrypt = function(f,
            d) {
            if (0 == f.length) return "";
            for (var c = a.strToLongs(l.decode(f)), m = a.strToLongs(g.encode(d).slice(0, 16)), b = c.length, e = c[b - 1], h = c[0], q, n = 2654435769 * Math.floor(6 + 52 / b); 0 != n;) {
                q = n >>> 2 & 3;
                for (var k = b - 1; 0 <= k; k--) e = c[0 < k ? k - 1 : b - 1], e = (e >>> 5 ^ h << 2) + (h >>> 3 ^ e << 4) ^ (n ^ h) + (m[k & 3 ^ q] ^ e), h = c[k] -= e;
                n -= 2654435769
            }
            c = a.longsToStr(c);
            c = c.replace(/\0+$/, "");
            return g.decode(c)
        };
        a.strToLongs = function(a) {
            for (var d = Array(Math.ceil(a.length / 4)), c = 0; c < d.length; c++) d[c] = a.charCodeAt(4 * c) + (a.charCodeAt(4 * c + 1) << 8) + (a.charCodeAt(4 * c +
                2) << 16) + (a.charCodeAt(4 * c + 3) << 24);
            return d
        };
        a.longsToStr = function(a) {
            for (var d = Array(a.length), c = 0; c < a.length; c++) d[c] = String.fromCharCode(a[c] & 255, a[c] >>> 8 & 255, a[c] >>> 16 & 255, a[c] >>> 24 & 255);
            return d.join("")
        };
        var l = {
                code: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d",
                encode: function(a, d) {
                    var c, e, b, p, h = [],
                        q = "",
                        n, k, j = l.code;
                    k = ("undefined" == typeof d ? 0 : d) ? g.encode(a) : a;
                    n = k.length % 3;
                    if (0 < n)
                        for (; 3 > n++;) q += "\x3d", k += "\x00";
                    for (n = 0; n < k.length; n += 3) c = k.charCodeAt(n), e = k.charCodeAt(n +
                        1), b = k.charCodeAt(n + 2), p = c << 16 | e << 8 | b, c = p >> 18 & 63, e = p >> 12 & 63, b = p >> 6 & 63, p &= 63, h[n / 3] = j.charAt(c) + j.charAt(e) + j.charAt(b) + j.charAt(p);
                    h = h.join("");
                    return h = h.slice(0, h.length - q.length) + q
                },
                decode: function(a, d) {
                    d = "undefined" == typeof d ? !1 : d;
                    var c, e, b, p, h, q = [],
                        n, k = l.code;
                    n = d ? g.decode(a) : a;
                    for (var j = 0; j < n.length; j += 4) c = k.indexOf(n.charAt(j)), e = k.indexOf(n.charAt(j + 1)), p = k.indexOf(n.charAt(j + 2)), h = k.indexOf(n.charAt(j + 3)), b = c << 18 | e << 12 | p << 6 | h, c = b >>> 16 & 255, e = b >>> 8 & 255, b &= 255, q[j / 4] = String.fromCharCode(c, e,
                        b), 64 == h && (q[j / 4] = String.fromCharCode(c, e)), 64 == p && (q[j / 4] = String.fromCharCode(c));
                    p = q.join("");
                    return d ? g.decode(p) : p
                }
            },
            g = {
                encode: function(a) {
                    a = a.replace(/[\u0080-\u07ff]/g, function(a) {
                        a = a.charCodeAt(0);
                        return String.fromCharCode(192 | a >> 6, 128 | a & 63)
                    });
                    return a = a.replace(/[\u0800-\uffff]/g, function(a) {
                        a = a.charCodeAt(0);
                        return String.fromCharCode(224 | a >> 12, 128 | a >> 6 & 63, 128 | a & 63)
                    })
                },
                decode: function(a) {
                    a = a.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, function(a) {
                        a = (a.charCodeAt(0) & 15) << 12 |
                            (a.charCodeAt(1) & 63) << 6 | a.charCodeAt(2) & 63;
                        return String.fromCharCode(a)
                    });
                    return a = a.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, function(a) {
                        a = (a.charCodeAt(0) & 31) << 6 | a.charCodeAt(1) & 63;
                        return String.fromCharCode(a)
                    })
                }
            }
    }(jwplayer.utils), function(e) {
        e.events = {
            COMPLETE: "COMPLETE",
            ERROR: "ERROR",
            API_READY: "jwplayerAPIReady",
            JWPLAYER_READY: "jwplayerReady",
            JWPLAYER_FULLSCREEN: "jwplayerFullscreen",
            JWPLAYER_RESIZE: "jwplayerResize",
            JWPLAYER_ERROR: "jwplayerError",
            JWPLAYER_SETUP_ERROR: "jwplayerSetupError",
            JWPLAYER_MEDIA_BEFOREPLAY: "jwplayerMediaBeforePlay",
            JWPLAYER_MEDIA_BEFORECOMPLETE: "jwplayerMediaBeforeComplete",
            JWPLAYER_COMPONENT_SHOW: "jwplayerComponentShow",
            JWPLAYER_COMPONENT_HIDE: "jwplayerComponentHide",
            JWPLAYER_MEDIA_BUFFER: "jwplayerMediaBuffer",
            JWPLAYER_MEDIA_BUFFER_FULL: "jwplayerMediaBufferFull",
            JWPLAYER_MEDIA_ERROR: "jwplayerMediaError",
            JWPLAYER_MEDIA_LOADED: "jwplayerMediaLoaded",
            JWPLAYER_MEDIA_COMPLETE: "jwplayerMediaComplete",
            JWPLAYER_MEDIA_SEEK: "jwplayerMediaSeek",
            JWPLAYER_MEDIA_TIME: "jwplayerMediaTime",
            JWPLAYER_MEDIA_VOLUME: "jwplayerMediaVolume",
            JWPLAYER_MEDIA_META: "jwplayerMediaMeta",
            JWPLAYER_MEDIA_MUTE: "jwplayerMediaMute",
            JWPLAYER_MEDIA_LEVELS: "jwplayerMediaLevels",
            JWPLAYER_MEDIA_LEVEL_CHANGED: "jwplayerMediaLevelChanged",
            JWPLAYER_CAPTIONS_CHANGED: "jwplayerCaptionsChanged",
            JWPLAYER_CAPTIONS_LIST: "jwplayerCaptionsList",
            JWPLAYER_CAPTIONS_LOADED: "jwplayerCaptionsLoaded",
            JWPLAYER_PLAYER_STATE: "jwplayerPlayerState",
            state: {
                BUFFERING: "BUFFERING",
                IDLE: "IDLE",
                PAUSED: "PAUSED",
                PLAYING: "PLAYING"
            },
            JWPLAYER_PLAYLIST_LOADED: "jwplayerPlaylistLoaded",
            JWPLAYER_PLAYLIST_ITEM: "jwplayerPlaylistItem",
            JWPLAYER_PLAYLIST_COMPLETE: "jwplayerPlaylistComplete",
            JWPLAYER_DISPLAY_CLICK: "jwplayerViewClick",
            JWPLAYER_CONTROLS: "jwplayerViewControls",
            JWPLAYER_USER_ACTION: "jwplayerUserAction",
            JWPLAYER_INSTREAM_CLICK: "jwplayerInstreamClicked",
            JWPLAYER_INSTREAM_DESTROYED: "jwplayerInstreamDestroyed",
            JWPLAYER_AD_TIME: "jwplayerAdTime",
            JWPLAYER_AD_ERROR: "jwplayerAdError",
            JWPLAYER_AD_CLICK: "jwplayerAdClicked",
            JWPLAYER_AD_COMPLETE: "jwplayerAdComplete",
            JWPLAYER_AD_IMPRESSION: "jwplayerAdImpression",
            JWPLAYER_AD_COMPANIONS: "jwplayerAdCompanions",
            JWPLAYER_AD_SKIPPED: "jwplayerAdSkipped"
        }
    }(jwplayer), function(e) {
        var a = e.utils;
        e.events.eventdispatcher = function(l, g) {
            function f(c, b, d) {
                if (c)
                    for (var h = 0; h < c.length; h++) {
                        var g = c[h];
                        if (g) {
                            null !== g.count && 0 === --g.count && delete c[h];
                            try {
                                g.listener(b)
                            } catch (f) {
                                a.log('Error handling "' + d + '" event listener [' + h + "]: " + f.toString(), g.listener, b)
                            }
                        }
                    }
            }
            var d, c;
            this.resetEventListeners = function() {
                d = {};
                c = []
            };
            this.resetEventListeners();
            this.addEventListener = function(c, b, g) {
                try {
                    a.exists(d[c]) || (d[c] = []), "string" ==
                        a.typeOf(b) && (b = (new Function("return " + b))()), d[c].push({
                            listener: b,
                            count: g || null
                        })
                } catch (h) {
                    a.log("error", h)
                }
                return !1
            };
            this.removeEventListener = function(c, b) {
                if (d[c]) {
                    try {
                        for (var g = 0; g < d[c].length; g++)
                            if (d[c][g].listener.toString() == b.toString()) {
                                d[c].splice(g, 1);
                                break
                            }
                    } catch (h) {
                        a.log("error", h)
                    }
                    return !1
                }
            };
            this.addGlobalListener = function(d, b) {
                try {
                    "string" == a.typeOf(d) && (d = (new Function("return " + d))()), c.push({
                        listener: d,
                        count: b || null
                    })
                } catch (g) {
                    a.log("error", g)
                }
                return !1
            };
            this.removeGlobalListener =
                function(d) {
                    if (d) {
                        try {
                            for (var b = c.length; b--;) c[b].listener.toString() == d.toString() && c.splice(b, 1)
                        } catch (g) {
                            a.log("error", g)
                        }
                        return !1
                    }
                };
            this.sendEvent = function(m, b) {
                a.exists(b) || (b = {});
                a.extend(b, {
                    id: l,
                    version: e.version,
                    type: m
                });
                g && a.log(m, b);
                f(d[m], b, m);
                f(c, b, m)
            }
        }
    }(window.jwplayer), function(e) {
        var a = {},
            l = {};
        e.plugins = function() {};
        e.plugins.loadPlugins = function(g, f) {
            l[g] = new e.plugins.pluginloader(new e.plugins.model(a), f);
            return l[g]
        };
        e.plugins.registerPlugin = function(g, f, d, c) {
            var m = e.utils.getPluginName(g);
            a[m] || (a[m] = new e.plugins.plugin(g));
            a[m].registerPlugin(g, f, d, c)
        }
    }(jwplayer), function(e) {
        e.plugins.model = function(a) {
            this.addPlugin = function(l) {
                var g = e.utils.getPluginName(l);
                a[g] || (a[g] = new e.plugins.plugin(l));
                return a[g]
            };
            this.getPlugins = function() {
                return a
            }
        }
    }(jwplayer), function(e) {
        var a = jwplayer.utils,
            l = jwplayer.events;
        e.pluginmodes = {
            FLASH: 0,
            JAVASCRIPT: 1,
            HYBRID: 2
        };
        e.plugin = function(g) {
            function f() {
                switch (a.getPluginPathType(g)) {
                    case a.pluginPathType.ABSOLUTE:
                        return g;
                    case a.pluginPathType.RELATIVE:
                        return a.getAbsolutePath(g,
                            window.location.href)
                }
            }

            function d() {
                q = setTimeout(function() {
                    m = a.loaderstatus.COMPLETE;
                    n.sendEvent(l.COMPLETE)
                }, 1E3)
            }

            function c() {
                m = a.loaderstatus.ERROR;
                n.sendEvent(l.ERROR)
            }
            var m = a.loaderstatus.NEW,
                b, p, h, q, n = new l.eventdispatcher;
            a.extend(this, n);
            this.load = function() {
                if (m == a.loaderstatus.NEW)
                    if (0 < g.lastIndexOf(".swf")) b = g, m = a.loaderstatus.COMPLETE, n.sendEvent(l.COMPLETE);
                    else if (a.getPluginPathType(g) == a.pluginPathType.CDN) m = a.loaderstatus.COMPLETE, n.sendEvent(l.COMPLETE);
                else {
                    m = a.loaderstatus.LOADING;
                    var k = new a.scriptloader(f());
                    k.addEventListener(l.COMPLETE, d);
                    k.addEventListener(l.ERROR, c);
                    k.load()
                }
            };
            this.registerPlugin = function(c, d, g, f) {
                q && (clearTimeout(q), q = void 0);
                h = d;
                g && f ? (b = f, p = g) : "string" == typeof g ? b = g : "function" == typeof g ? p = g : !g && !f && (b = c);
                m = a.loaderstatus.COMPLETE;
                n.sendEvent(l.COMPLETE)
            };
            this.getStatus = function() {
                return m
            };
            this.getPluginName = function() {
                return a.getPluginName(g)
            };
            this.getFlashPath = function() {
                if (b) switch (a.getPluginPathType(b)) {
                    case a.pluginPathType.ABSOLUTE:
                        return b;
                    case a.pluginPathType.RELATIVE:
                        return 0 < g.lastIndexOf(".swf") ? a.getAbsolutePath(b, window.location.href) : a.getAbsolutePath(b, f())
                }
                return null
            };
            this.getJS = function() {
                return p
            };
            this.getTarget = function() {
                return h
            };
            this.getPluginmode = function() {
                if ("undefined" != typeof b && "undefined" != typeof p) return e.pluginmodes.HYBRID;
                if ("undefined" != typeof b) return e.pluginmodes.FLASH;
                if ("undefined" != typeof p) return e.pluginmodes.JAVASCRIPT
            };
            this.getNewInstance = function(a, b, c) {
                return new p(a, b, c)
            };
            this.getURL = function() {
                return g
            }
        }
    }(jwplayer.plugins),
    function(e) {
        var a = e.utils,
            l = e.events,
            g = a.foreach;
        e.plugins.pluginloader = function(f, d) {
            function c() {
                h ? k.sendEvent(l.ERROR, {
                    message: q
                }) : p || (p = !0, b = a.loaderstatus.COMPLETE, k.sendEvent(l.COMPLETE))
            }

            function m() {
                n || c();
                if (!p && !h) {
                    var b = 0,
                        d = f.getPlugins();
                    a.foreach(n, function(g) {
                        g = a.getPluginName(g);
                        var k = d[g];
                        g = k.getJS();
                        var f = k.getTarget(),
                            k = k.getStatus();
                        if (k == a.loaderstatus.LOADING || k == a.loaderstatus.NEW) b++;
                        else if (g && (!f || parseFloat(f) > parseFloat(e.version))) h = !0, q = "Incompatible player version", c()
                    });
                    0 == b && c()
                }
            }
            var b = a.loaderstatus.NEW,
                p = !1,
                h = !1,
                q, n = d,
                k = new l.eventdispatcher;
            a.extend(this, k);
            this.setupPlugins = function(b, c, d) {
                var k = {
                        length: 0,
                        plugins: {}
                    },
                    h = 0,
                    j = {},
                    e = f.getPlugins();
                g(c.plugins, function(g, f) {
                    var m = a.getPluginName(g),
                        p = e[m],
                        l = p.getFlashPath(),
                        n = p.getJS(),
                        q = p.getURL();
                    l && (k.plugins[l] = a.extend({}, f), k.plugins[l].pluginmode = p.getPluginmode(), k.length++);
                    try {
                        if (n && c.plugins && c.plugins[q]) {
                            var C = document.createElement("div");
                            C.id = b.id + "_" + m;
                            C.style.position = "absolute";
                            C.style.top = 0;
                            C.style.zIndex =
                                h + 10;
                            j[m] = p.getNewInstance(b, a.extend({}, c.plugins[q]), C);
                            h++;
                            b.onReady(d(j[m], C, !0));
                            b.onResize(d(j[m], C))
                        }
                    } catch (F) {
                        a.log("ERROR: Failed to load " + m + ".")
                    }
                });
                b.plugins = j;
                return k
            };
            this.load = function() {
                if (!(a.exists(d) && "object" != a.typeOf(d))) {
                    b = a.loaderstatus.LOADING;
                    g(d, function(b) {
                        a.exists(b) && (b = f.addPlugin(b), b.addEventListener(l.COMPLETE, m), b.addEventListener(l.ERROR, j))
                    });
                    var c = f.getPlugins();
                    g(c, function(a, b) {
                        b.load()
                    })
                }
                m()
            };
            var j = this.pluginFailed = function() {
                h || (h = !0, q = "File not found", c())
            };
            this.getStatus = function() {
                return b
            }
        }
    }(jwplayer),
    function() {
        jwplayer.parsers = {
            localName: function(e) {
                return e ? e.localName ? e.localName : e.baseName ? e.baseName : "" : ""
            },
            textContent: function(e) {
                return e ? e.textContent ? jwplayer.utils.trim(e.textContent) : e.text ? jwplayer.utils.trim(e.text) : "" : ""
            },
            getChildNode: function(e, a) {
                return e.childNodes[a]
            },
            numChildren: function(e) {
                return e.childNodes ? e.childNodes.length : 0
            }
        }
    }(jwplayer),
    function(e) {
        var a = e.parsers;
        (a.jwparser = function() {}).parseEntry = function(l, g) {
            for (var f = [], d = [], c = e.utils.xmlAttribute, m = 0; m < l.childNodes.length; m++) {
                var b = l.childNodes[m];
                if ("jwplayer" == b.prefix) {
                    var p = a.localName(b);
                    "source" == p ? (delete g.sources, f.push({
                        file: c(b, "file"),
                        "default": c(b, "default"),
                        label: c(b, "label"),
                        type: c(b, "type")
                    })) : "track" == p ? (delete g.tracks, d.push({
                        file: c(b, "file"),
                        "default": c(b, "default"),
                        kind: c(b, "kind"),
                        label: c(b, "label")
                    })) : (g[p] = e.utils.serialize(a.textContent(b)), "file" == p && g.sources && delete g.sources)
                }
                g.file || (g.file = g.link)
            }
            if (f.length) {
                g.sources = [];
                for (m =
                    0; m < f.length; m++) 0 < f[m].file.length && (f[m]["default"] = "true" == f[m]["default"] ? !0 : !1, f[m].label.length || delete f[m].label, g.sources.push(f[m]))
            }
            if (d.length) {
                g.tracks = [];
                for (m = 0; m < d.length; m++) 0 < d[m].file.length && (d[m]["default"] = "true" == d[m]["default"] ? !0 : !1, d[m].kind = !d[m].kind.length ? "captions" : d[m].kind, d[m].label.length || delete d[m].label, g.tracks.push(d[m]))
            }
            return g
        }
    }(jwplayer),
    function(e) {
        var a = jwplayer.utils,
            l = a.xmlAttribute,
            g = e.localName,
            f = e.textContent,
            d = e.numChildren,
            c = e.mediaparser = function() {};
        c.parseGroup = function(e, b) {
            var p, h, q = [];
            for (h = 0; h < d(e); h++)
                if (p = e.childNodes[h], "media" == p.prefix && g(p)) switch (g(p).toLowerCase()) {
                    case "content":
                        l(p, "duration") && (b.duration = a.seconds(l(p, "duration")));
                        0 < d(p) && (b = c.parseGroup(p, b));
                        l(p, "url") && (b.sources || (b.sources = []), b.sources.push({
                            file: l(p, "url"),
                            type: l(p, "type"),
                            width: l(p, "width"),
                            label: l(p, "label")
                        }));
                        break;
                    case "title":
                        b.title = f(p);
                        break;
                    case "description":
                        b.description = f(p);
                        break;
                    case "guid":
                        b.mediaid = f(p);
                        break;
                    case "thumbnail":
                        b.image ||
                            (b.image = l(p, "url"));
                        break;
                    case "group":
                        c.parseGroup(p, b);
                        break;
                    case "subtitle":
                        var n = {};
                        n.file = l(p, "url");
                        n.kind = "captions";
                        if (0 < l(p, "lang").length) {
                            var k = n;
                            p = l(p, "lang");
                            var j = {
                                zh: "Chinese",
                                nl: "Dutch",
                                en: "English",
                                fr: "French",
                                de: "German",
                                it: "Italian",
                                ja: "Japanese",
                                pt: "Portuguese",
                                ru: "Russian",
                                es: "Spanish"
                            };
                            p = j[p] ? j[p] : p;
                            k.label = p
                        }
                        q.push(n)
                }
            b.hasOwnProperty("tracks") || (b.tracks = []);
            for (h = 0; h < q.length; h++) b.tracks.push(q[h]);
            return b
        }
    }(jwplayer.parsers),
    function(e) {
        function a(a) {
            for (var b = {}, d = 0; d <
                a.childNodes.length; d++) {
                var h = a.childNodes[d],
                    f = c(h);
                if (f) switch (f.toLowerCase()) {
                    case "enclosure":
                        b.file = l.xmlAttribute(h, "url");
                        break;
                    case "title":
                        b.title = g(h);
                        break;
                    case "guid":
                        b.mediaid = g(h);
                        break;
                    case "pubdate":
                        b.date = g(h);
                        break;
                    case "description":
                        b.description = g(h);
                        break;
                    case "link":
                        b.link = g(h);
                        break;
                    case "category":
                        b.tags = b.tags ? b.tags + g(h) : g(h)
                }
            }
            b = e.mediaparser.parseGroup(a, b);
            b = e.jwparser.parseEntry(a, b);
            return new jwplayer.playlist.item(b)
        }
        var l = jwplayer.utils,
            g = e.textContent,
            f = e.getChildNode,
            d = e.numChildren,
            c = e.localName;
        e.rssparser = {};
        e.rssparser.parse = function(g) {
            for (var b = [], e = 0; e < d(g); e++) {
                var h = f(g, e);
                if ("channel" == c(h).toLowerCase())
                    for (var l = 0; l < d(h); l++) {
                        var n = f(h, l);
                        "item" == c(n).toLowerCase() && b.push(a(n))
                    }
            }
            return b
        }
    }(jwplayer.parsers),
    function(e) {
        e.playlist = function(a) {
            var l = [];
            if ("array" == e.utils.typeOf(a))
                for (var g = 0; g < a.length; g++) l.push(new e.playlist.item(a[g]));
            else l.push(new e.playlist.item(a));
            return l
        }
    }(jwplayer),
    function(e) {
        var a = e.item = function(l) {
            var g = jwplayer.utils,
                f = g.extend({}, a.defaults, l);
            f.tracks = l && g.exists(l.tracks) ? l.tracks : [];
            0 == f.sources.length && (f.sources = [new e.source(f)]);
            for (var d = 0; d < f.sources.length; d++) {
                var c = f.sources[d]["default"];
                f.sources[d]["default"] = c ? "true" == c.toString() : !1;
                f.sources[d] = new e.source(f.sources[d])
            }
            if (f.captions && !g.exists(l.tracks)) {
                for (l = 0; l < f.captions.length; l++) f.tracks.push(f.captions[l]);
                delete f.captions
            }
            for (d = 0; d < f.tracks.length; d++) f.tracks[d] = new e.track(f.tracks[d]);
            return f
        };
        a.defaults = {
            description: "",
            image: "",
            mediaid: "",
            title: "",
            sources: [],
            tracks: []
        }
    }(jwplayer.playlist),
    function(e) {
        var a = jwplayer,
            l = a.utils,
            g = a.events,
            f = a.parsers;
        e.loader = function() {
            function a(c) {
                try {
                    var d = c.responseXML.childNodes;
                    c = "";
                    for (var l = 0; l < d.length && !(c = d[l], 8 != c.nodeType); l++);
                    "xml" == f.localName(c) && (c = c.nextSibling);
                    if ("rss" != f.localName(c)) m("Not a valid RSS feed");
                    else {
                        var n = new e(f.rssparser.parse(c));
                        b.sendEvent(g.JWPLAYER_PLAYLIST_LOADED, {
                            playlist: n
                        })
                    }
                } catch (k) {
                    m()
                }
            }

            function c(a) {
                m(a.match(/invalid/i) ? "Not a valid RSS feed" :
                    "")
            }

            function m(a) {
                b.sendEvent(g.JWPLAYER_ERROR, {
                    message: a ? a : "Error loading file"
                })
            }
            var b = new g.eventdispatcher;
            l.extend(this, b);
            this.load = function(b) {
                l.ajax(b, a, c)
            }
        }
    }(jwplayer.playlist),
    function(e) {
        var a = jwplayer.utils,
            l = {
                file: void 0,
                label: void 0,
                type: void 0,
                "default": void 0
            };
        e.source = function(g) {
            var f = a.extend({}, l);
            a.foreach(l, function(d) {
                a.exists(g[d]) && (f[d] = g[d], delete g[d])
            });
            f.type && 0 < f.type.indexOf("/") && (f.type = a.extensionmap.mimeType(f.type));
            "m3u8" == f.type && (f.type = "hls");
            "smil" == f.type &&
                (f.type = "rtmp");
            return f
        }
    }(jwplayer.playlist),
    function(e) {
        var a = jwplayer.utils,
            l = {
                file: void 0,
                label: void 0,
                kind: "captions",
                "default": !1
            };
        e.track = function(g) {
            var f = a.extend({}, l);
            g || (g = {});
            a.foreach(l, function(d) {
                a.exists(g[d]) && (f[d] = g[d], delete g[d])
            });
            return f
        }
    }(jwplayer.playlist),
    function(e) {
        function a(a, c, d) {
            var g = a.style;
            g.backgroundColor = "#000";
            g.color = "#FFF";
            g.width = l.styleDimension(d.width);
            g.height = l.styleDimension(d.height);
            g.display = "table";
            g.opacity = 1;
            d = document.createElement("p");
            g = d.style;
            g.verticalAlign = "middle";
            g.textAlign = "center";
            g.display = "table-cell";
            g.font = "15px/20px Arial, Helvetica, sans-serif";
            d.innerHTML = c.replace(":", ":\x3cbr\x3e");
            a.innerHTML = "";
            a.appendChild(d)
        }
        var l = e.utils,
            g = e.events,
            f = !0,
            d = !1,
            c = document,
            m = e.embed = function(b) {
                function p(a, b) {
                    l.foreach(b, function(b, c) {
                        "function" == typeof a[b] && a[b].call(a, c)
                    })
                }

                function h() {
                    if (!E)
                        if ("array" == l.typeOf(t.playlist) && 2 > t.playlist.length && (0 == t.playlist.length || !t.playlist[0].sources || 0 == t.playlist[0].sources.length)) k();
                        else if (!B)
                        if ("string" ==
                            l.typeOf(t.playlist)) {
                            var a = new e.playlist.loader;
                            a.addEventListener(g.JWPLAYER_PLAYLIST_LOADED, function(a) {
                                t.playlist = a.playlist;
                                B = d;
                                h()
                            });
                            a.addEventListener(g.JWPLAYER_ERROR, function(a) {
                                B = d;
                                k(a)
                            });
                            B = f;
                            a.load(t.playlist)
                        } else if (y.getStatus() == l.loaderstatus.COMPLETE) {
                        for (a = 0; a < t.modes.length; a++)
                            if (t.modes[a].type && m[t.modes[a].type]) {
                                var c = l.extend({}, t),
                                    n = new m[t.modes[a].type](r, t.modes[a], c, y, b);
                                if (n.supportsConfig()) return n.addEventListener(g.ERROR, q), n.embed(), p(b, c.events), b
                            }
                        var u;
                        t.fallback ?
                            (u = "No suitable players found and fallback enabled", D = setTimeout(function() {
                                j(u, f)
                            }, 10), l.log(u), new m.download(r, t, k)) : (u = "No suitable players found and fallback disabled", j(u, d), l.log(u), r.parentNode.replaceChild(w, r))
                    }
                }

                function q(a) {
                    u(A + a.message)
                }

                function n(a) {
                    u("Could not load plugins: " + a.message)
                }

                function k(a) {
                    a && a.message ? u("Error loading playlist: " + a.message) : u(A + "No playable sources found")
                }

                function j(a, c) {
                    D && (clearTimeout(D), D = null);
                    D = setTimeout(function() {
                        D = null;
                        b.dispatchEvent(g.JWPLAYER_SETUP_ERROR, {
                            message: a,
                            fallback: c
                        })
                    }, 0)
                }

                function u(b) {
                    E || (t.fallback ? (E = f, a(r, b, t), j(b, f)) : j(b, d))
                }
                var t = new m.config(b.config),
                    r, v, w, x = t.width,
                    z = t.height,
                    A = "Error loading player: ",
                    y = e.plugins.loadPlugins(b.id, t.plugins),
                    B = d,
                    E = d,
                    D = null;
                t.fallbackDiv && (w = t.fallbackDiv, delete t.fallbackDiv);
                t.id = b.id;
                v = c.getElementById(b.id);
                t.aspectratio ? b.config.aspectratio = t.aspectratio : delete b.config.aspectratio;
                r = c.createElement("div");
                r.id = v.id;
                r.style.width = 0 < x.toString().indexOf("%") ? x : x + "px";
                r.style.height = 0 < z.toString().indexOf("%") ?
                    z : z + "px";
                v.parentNode.replaceChild(r, v);
                this.embed = function() {
                    E || (y.addEventListener(g.COMPLETE, h), y.addEventListener(g.ERROR, n), y.load())
                };
                this.errorScreen = u;
                return this
            };
        e.embed.errorScreen = a
    }(jwplayer),
    function(e) {
        function a(a) {
            if (a.playlist)
                for (var c = 0; c < a.playlist.length; c++) a.playlist[c] = new f(a.playlist[c]);
            else {
                var e = {};
                g.foreach(f.defaults, function(b) {
                    l(a, e, b)
                });
                e.sources || (a.levels ? (e.sources = a.levels, delete a.levels) : (c = {}, l(a, c, "file"), l(a, c, "type"), e.sources = c.file ? [c] : []));
                a.playlist = [new f(e)]
            }
        }

        function l(a, c, f) {
            g.exists(a[f]) && (c[f] = a[f], delete a[f])
        }
        var g = e.utils,
            f = e.playlist.item;
        (e.embed.config = function(d) {
            var c = {
                fallback: !0,
                height: 270,
                primary: "html5",
                width: 480,
                base: d.base ? d.base : g.getScriptPath("jwplayer.js"),
                aspectratio: ""
            };
            d = g.extend(c, e.defaults, d);
            var c = {
                    type: "html5",
                    src: d.base + "jwplayer.html5.js"
                },
                f = {
                    type: "flash",
                    src: d.base + "jwplayer.flash.swf"
                };
            d.modes = "flash" == d.primary ? [f, c] : [c, f];
            d.listbar && (d.playlistsize = d.listbar.size, d.playlistposition = d.listbar.position, d.playlistlayout =
                d.listbar.layout);
            d.flashplayer && (f.src = d.flashplayer);
            d.html5player && (c.src = d.html5player);
            a(d);
            f = d.aspectratio;
            if ("string" != typeof f || !g.exists(f)) c = 0;
            else {
                var b = f.indexOf(":"); - 1 == b ? c = 0 : (c = parseFloat(f.substr(0, b)), f = parseFloat(f.substr(b + 1)), c = 0 >= c || 0 >= f ? 0 : 100 * (f / c) + "%")
            } - 1 == d.width.toString().indexOf("%") ? delete d.aspectratio : c ? d.aspectratio = c : delete d.aspectratio;
            return d
        }).addConfig = function(d, c) {
            a(c);
            return g.extend(d, c)
        }
    }(jwplayer),
    function(e) {
        var a = e.utils,
            l = document;
        e.embed.download = function(g,
            f, d) {
            function c(b, c) {
                for (var d = l.querySelectorAll(b), g = 0; g < d.length; g++) a.foreach(c, function(a, b) {
                    d[g].style[a] = b
                })
            }

            function e(a, b, c) {
                a = l.createElement(a);
                b && (a.className = "jwdownload" + b);
                c && c.appendChild(a);
                return a
            }
            var b = a.extend({}, f),
                p = b.width ? b.width : 480,
                h = b.height ? b.height : 320,
                q;
            f = f.logo ? f.logo : {
                prefix: a.repo(),
                file: "logo.png",
                margin: 10
            };
            var n, k, j, b = b.playlist,
                u, t = ["mp4", "aac", "mp3"];
            if (b && b.length) {
                u = b[0];
                q = u.sources;
                for (b = 0; b < q.length; b++) {
                    var r = q[b],
                        v = r.type ? r.type : a.extensionmap.extType(a.extension(r.file));
                    r.file && a.foreach(t, function(b) {
                        v == t[b] ? (n = r.file, k = u.image) : a.isYouTube(r.file) && (j = r.file)
                    })
                }
                n ? (q = n, d = k, g && (b = e("a", "display", g), e("div", "icon", b), e("div", "logo", b), q && b.setAttribute("href", a.getAbsolutePath(q))), b = "#" + g.id + " .jwdownload", g.style.width = "", g.style.height = "", c(b + "display", {
                            width: a.styleDimension(Math.max(320, p)),
                            height: a.styleDimension(Math.max(180, h)),
                            background: "black center no-repeat " + (d ? "url(" + d + ")" : ""),
                            backgroundSize: "contain",
                            position: "relative",
                            border: "none",
                            display: "block"
                        }),
                        c(b + "display div", {
                            position: "absolute",
                            width: "100%",
                            height: "100%"
                        }), c(b + "logo", {
                            top: f.margin + "px",
                            right: f.margin + "px",
                            background: "top right no-repeat url(" + f.prefix + f.file + ")"
                        }), c(b + "icon", {
                            background: "center no-repeat url()"
                        })) :
                    j ? (f = j, g = e("iframe", "", g), g.src = "http://www.youtube.com/embed/" + a.youTubeID(f), g.width = p, g.height = h, g.style.border = "none") : d()
            }
        }
    }(jwplayer),
    function(e) {
        var a = e.utils,
            l = e.events,
            g = {};
        (e.embed.flash = function(d, c, m, b, p) {
            function h(a, b, c) {
                var d = document.createElement("param");
                d.setAttribute("name", b);
                d.setAttribute("value", c);
                a.appendChild(d)
            }

            function q(a, b, c) {
                return function() {
                    try {
                        c && document.getElementById(p.id + "_wrapper").appendChild(b);
                        var d = document.getElementById(p.id).getPluginConfig("display");
                        "function" == typeof a.resize && a.resize(d.width, d.height);
                        b.style.left = d.x;
                        b.style.top = d.h
                    } catch (g) {}
                }
            }

            function n(b) {
                if (!b) return {};
                var c = {},
                    d = [];
                a.foreach(b, function(b, g) {
                    var k = a.getPluginName(b);
                    d.push(b);
                    a.foreach(g, function(a, b) {
                        c[k + "." + a] = b
                    })
                });
                c.plugins = d.join(",");
                return c
            }
            var k = new e.events.eventdispatcher,
                j = a.flashVersion();
            a.extend(this, k);
            this.embed = function() {
                m.id = p.id;
                if (10 > j) return k.sendEvent(l.ERROR, {
                    message: "Flash version must be 10.0 or greater"
                }), !1;
                var f, e, r = p.config.listbar,
                    v = a.extend({},
                        m);
                if (d.id + "_wrapper" == d.parentNode.id) f = document.getElementById(d.id + "_wrapper");
                else {
                    f = document.createElement("div");
                    e = document.createElement("div");
                    e.style.display = "none";
                    e.id = d.id + "_aspect";
                    f.id = d.id + "_wrapper";
                    f.style.position = "relative";
                    f.style.display = "block";
                    f.style.width = a.styleDimension(v.width);
                    f.style.height = a.styleDimension(v.height);
                    if (p.config.aspectratio) {
                        var w = parseFloat(p.config.aspectratio);
                        e.style.display = "block";
                        e.style.marginTop = p.config.aspectratio;
                        f.style.height = "auto";
                        f.style.display =
                            "inline-block";
                        r && ("bottom" == r.position ? e.style.paddingBottom = r.size + "px" : "right" == r.position && (e.style.marginBottom = -1 * r.size * (w / 100) + "px"))
                    }
                    d.parentNode.replaceChild(f, d);
                    f.appendChild(d);
                    f.appendChild(e)
                }
                f = b.setupPlugins(p, v, q);
                0 < f.length ? a.extend(v, n(f.plugins)) : delete v.plugins;
                "undefined" != typeof v["dock.position"] && "false" == v["dock.position"].toString().toLowerCase() && (v.dock = v["dock.position"], delete v["dock.position"]);
                f = v.wmode ? v.wmode : v.height && 40 >= v.height ? "transparent" : "opaque";
                e = "height width modes events primary base fallback volume".split(" ");
                for (r = 0; r < e.length; r++) delete v[e[r]];
                e = a.getCookies();
                a.foreach(e, function(a, b) {
                    "undefined" == typeof v[a] && (v[a] = b)
                });
                e = window.location.href.split("/");
                e.splice(e.length - 1, 1);
                e = e.join("/");
                v.base = e + "/";
                g[d.id] = v;
                a.isIE() ? (e = '\x3cobject classid\x3d"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" " width\x3d"100%" height\x3d"100%"id\x3d"' + d.id + '" name\x3d"' + d.id + '" tabindex\x3d0""\x3e', e += '\x3cparam name\x3d"movie" value\x3d"' + c.src + '"\x3e', e += '\x3cparam name\x3d"allowfullscreen" value\x3d"true"\x3e\x3cparam name\x3d"allowscriptaccess" value\x3d"always"\x3e',
                    e += '\x3cparam name\x3d"seamlesstabbing" value\x3d"true"\x3e', e += '\x3cparam name\x3d"wmode" value\x3d"' + f + '"\x3e', e += '\x3cparam name\x3d"bgcolor" value\x3d"#000000"\x3e', e += "\x3c/object\x3e", d.outerHTML = e, f = document.getElementById(d.id)) : (e = document.createElement("object"), e.setAttribute("type", "application/x-shockwave-flash"), e.setAttribute("data", c.src), e.setAttribute("width", "100%"), e.setAttribute("height", "100%"), e.setAttribute("bgcolor", "#000000"), e.setAttribute("id", d.id), e.setAttribute("name",
                    d.id), e.setAttribute("tabindex", 0), h(e, "allowfullscreen", "true"), h(e, "allowscriptaccess", "always"), h(e, "seamlesstabbing", "true"), h(e, "wmode", f), d.parentNode.replaceChild(e, d), f = e);
                p.config.aspectratio && (f.style.position = "absolute");
                p.container = f;
                p.setPlayer(f, "flash")
            };
            this.supportsConfig = function() {
                if (j)
                    if (m) {
                        if ("string" == a.typeOf(m.playlist)) return !0;
                        try {
                            var b = m.playlist[0].sources;
                            if ("undefined" == typeof b) return !0;
                            for (var c = 0; c < b.length; c++)
                                if (b[c].file && f(b[c].file, b[c].type)) return !0
                        } catch (d) {}
                    } else return !0;
                return !1
            }
        }).getVars = function(a) {
            return g[a]
        };
        var f = e.embed.flashCanPlay = function(d, c) {
            if (a.isYouTube(d) || a.isRtmp(d, c) || "hls" == c) return !0;
            var f = a.extensionmap[c ? c : a.extension(d)];
            return !f ? !1 : !!f.flash
        }
    }(jwplayer),
    function(e) {
        var a = e.utils,
            l = a.extensionmap,
            g = e.events;
        e.embed.html5 = function(f, d, c, m, b) {
            function p(a, b, c) {
                return function() {
                    try {
                        var d = document.querySelector("#" + f.id + " .jwmain");
                        c && d.appendChild(b);
                        "function" == typeof a.resize && (a.resize(d.clientWidth, d.clientHeight), setTimeout(function() {
                            a.resize(d.clientWidth,
                                d.clientHeight)
                        }, 400));
                        b.left = d.style.left;
                        b.top = d.style.top
                    } catch (g) {}
                }
            }

            function h(a) {
                q.sendEvent(a.type, {
                    message: "HTML5 player not found"
                })
            }
            var q = this,
                n = new g.eventdispatcher;
            a.extend(q, n);
            q.embed = function() {
                if (e.html5) {
                    m.setupPlugins(b, c, p);
                    f.innerHTML = "";
                    var k = e.utils.extend({}, c);
                    delete k.volume;
                    k = new e.html5.player(k);
                    b.container = document.getElementById(b.id);
                    b.setPlayer(k, "html5")
                } else k = new a.scriptloader(d.src), k.addEventListener(g.ERROR, h), k.addEventListener(g.COMPLETE, q.embed), k.load()
            };
            q.supportsConfig = function() {
                if (e.vid.canPlayType) try {
                    if ("string" == a.typeOf(c.playlist)) return !0;
                    for (var b = c.playlist[0].sources, d = 0; d < b.length; d++) {
                        var f;
                        var g = b[d].file,
                            h = b[d].type;
                        if (null !== navigator.userAgent.match(/BlackBerry/i) || a.isAndroid() && ("m3u" == a.extension(g) || "m3u8" == a.extension(g)) || a.isRtmp(g, h)) f = !1;
                        else {
                            var p = l[h ? h : a.extension(g)],
                                m;
                            if (!p || p.flash && !p.html5) m = !1;
                            else {
                                var n = p.html5,
                                    q = e.vid;
                                if (n) try {
                                    m = q.canPlayType(n) ? !0 : !1
                                } catch (A) {
                                    m = !1
                                } else m = !0
                            }
                            f = m
                        }
                        if (f) return !0
                    }
                } catch (y) {}
                return !1
            }
        }
    }(jwplayer),
    function(e) {
        var a = e.embed,
            l = e.utils,
            g = /\.(js|swf)$/;
        e.embed = l.extend(function(f) {
            function d() {
                r = "Adobe SiteCatalyst Error: Could not find Media Module"
            }
            var c = l.repo(),
                m = l.extend({}, e.defaults),
                b = l.extend({}, m, f.config),
                p = f.config,
                h = b.plugins,
                q = b.analytics,
                n = c + "jwpsrv.js",
                k = c + "sharing.js",
                j = c + "related.js",
                u = c + "gapro.js",
                m = e.key ? e.key : m.key,
                t = (new e.utils.key(m)).edition(),
                r, h = h ? h : {};
            "ads" == t && b.advertising && (g.test(b.advertising.client) ? h[b.advertising.client] = b.advertising : h[c + b.advertising.client +
                ".js"] = b.advertising);
            delete p.advertising;
            p.key = m;
            b.analytics && g.test(b.analytics.client) && (n = b.analytics.client);
            delete p.analytics;
            q && "ads" !== t && delete q.enabled;
            if ("free" == t || !q || !1 !== q.enabled) h[n] = q ? q : {};
            delete h.sharing;
            delete h.related;
            switch (t) {
                case "ads":
                    if (p.sitecatalyst) try {
                        window.s && window.s.hasOwnProperty("Media") ? new e.embed.sitecatalyst(f) : d()
                    } catch (v) {
                        d()
                    }
                case "premium":
                    b.related && (g.test(b.related.client) && (j = b.related.client), h[j] = b.related), b.ga && (g.test(b.ga.client) && (u = b.ga.client),
                        h[u] = b.ga);
                case "pro":
                    b.sharing && (g.test(b.sharing.client) && (k = b.sharing.client), h[k] = b.sharing), b.skin && (p.skin = b.skin.replace(/^(beelden|bekle|five|glow|modieus|roundster|stormtrooper|vapor)$/i, l.repo() + "skins/$1.xml"))
            }
            p.plugins = h;
            f.config = p;
            f = new a(f);
            r && f.errorScreen(r);
            return f
        }, e.embed)
    }(jwplayer),
    function(e) {
        var a = jwplayer.utils;
        e.sitecatalyst = function(e) {
            function g(c) {
                b.debug && a.log(c)
            }

            function f(a) {
                a = a.split("/");
                a = a[a.length - 1];
                a = a.split("?");
                return a[0]
            }

            function d() {
                if (!k) {
                    k = !0;
                    var a =
                        m.getPosition();
                    g("stop: " + h + " : " + a);
                    s.Media.stop(h, a)
                }
            }

            function c() {
                j || (d(), j = !0, g("close: " + h), s.Media.close(h), u = !0, n = 0)
            }
            var m = e,
                b = a.extend({}, m.config.sitecatalyst),
                p = {
                    onPlay: function() {
                        if (!u) {
                            var a = m.getPosition();
                            k = !1;
                            g("play: " + h + " : " + a);
                            s.Media.play(h, a)
                        }
                    },
                    onPause: d,
                    onBuffer: d,
                    onIdle: c,
                    onPlaylistItem: function(d) {
                        try {
                            u = !0;
                            c();
                            n = 0;
                            var g;
                            if (b.mediaName) g = b.mediaName;
                            else {
                                var e = m.getPlaylistItem(d.index);
                                g = e.title ? e.title : e.file ? f(e.file) : e.sources && e.sources.length ? f(e.sources[0].file) : ""
                            }
                            h =
                                g;
                            q = b.playerName ? b.playerName : m.id
                        } catch (k) {
                            a.log(k)
                        }
                    },
                    onTime: function() {
                        if (u) {
                            var a = m.getDuration();
                            if (-1 == a) return;
                            j = k = u = !1;
                            g("open: " + h + " : " + a + " : " + q);
                            s.Media.open(h, a, q);
                            g("play: " + h + " : 0");
                            s.Media.play(h, 0)
                        }
                        a = m.getPosition();
                        if (3 <= Math.abs(a - n)) {
                            var b = n;
                            g("seek: " + b + " to " + a);
                            g("stop: " + h + " : " + b);
                            s.Media.stop(h, b);
                            g("play: " + h + " : " + a);
                            s.Media.play(h, a)
                        }
                        n = a
                    },
                    onComplete: c
                },
                h, q, n, k = !0,
                j = !0,
                u;
            a.foreach(p, function(a) {
                m[a](p[a])
            })
        }
    }(jwplayer.embed),
    function(e, a) {
        var l = [],
            g = e.utils,
            f = e.events,
            d = f.state,
            c = document,
            m = e.api = function(b) {
                function l(a, b) {
                    return function(c) {
                        return b(a, c)
                    }
                }

                function h(a, b) {
                    t[a] || (t[a] = [], n(f.JWPLAYER_PLAYER_STATE, function(b) {
                        var c = b.newstate;
                        b = b.oldstate;
                        if (c == a) {
                            var d = t[c];
                            if (d)
                                for (var g = 0; g < d.length; g++) {
                                    var f = d[g];
                                    "function" == typeof f && f.call(this, {
                                        oldstate: b,
                                        newstate: c
                                    })
                                }
                        }
                    }));
                    t[a].push(b);
                    return j
                }

                function q(a, b) {
                    try {
                        a.jwAddEventListener(b, 'function(dat) { jwplayer("' + j.id + '").dispatchEvent("' + b + '", dat); }')
                    } catch (c) {
                        g.log("Could not add internal listener")
                    }
                }

                function n(a, b) {
                    u[a] || (u[a] = [], r && v && q(r, a));
                    u[a].push(b);
                    return j
                }

                function k() {
                    if (v) {
                        if (r) {
                            var a = Array.prototype.slice.call(arguments, 0),
                                b = a.shift();
                            if ("function" === typeof r[b]) {
                                switch (a.length) {
                                    case 6:
                                        return r[b](a[0], a[1], a[2], a[3], a[4], a[5]);
                                    case 5:
                                        return r[b](a[0], a[1], a[2], a[3], a[4]);
                                    case 4:
                                        return r[b](a[0], a[1], a[2], a[3]);
                                    case 3:
                                        return r[b](a[0], a[1], a[2]);
                                    case 2:
                                        return r[b](a[0], a[1]);
                                    case 1:
                                        return r[b](a[0])
                                }
                                return r[b]()
                            }
                        }
                        return null
                    }
                    w.push(arguments)
                }
                var j = this,
                    u = {},
                    t = {},
                    r, v = !1,
                    w = [],
                    x,
                    z = {},
                    A = {};
                j.container = b;
                j.id = b.id;
                j.getBuffer = function() {
                    return k("jwGetBuffer")
                };
                j.getContainer = function() {
                    return j.container
                };
                j.addButton = function(a, b, c, d) {
                    try {
                        A[d] = c, k("jwDockAddButton", a, b, "jwplayer('" + j.id + "').callback('" + d + "')", d)
                    } catch (f) {
                        g.log("Could not add dock button" + f.message)
                    }
                };
                j.removeButton = function(a) {
                    k("jwDockRemoveButton", a)
                };
                j.callback = function(a) {
                    if (A[a]) A[a]()
                };
                j.forceState = function(a) {
                    k("jwForceState", a);
                    return j
                };
                j.releaseState = function() {
                    return k("jwReleaseState")
                };
                j.getDuration =
                    function() {
                        return k("jwGetDuration")
                    };
                j.getFullscreen = function() {
                    return k("jwGetFullscreen")
                };
                j.getHeight = function() {
                    return k("jwGetHeight")
                };
                j.getLockState = function() {
                    return k("jwGetLockState")
                };
                j.getMeta = function() {
                    return j.getItemMeta()
                };
                j.getMute = function() {
                    return k("jwGetMute")
                };
                j.getPlaylist = function() {
                    var a = k("jwGetPlaylist");
                    "flash" == j.renderingMode && g.deepReplaceKeyName(a, ["__dot__", "__spc__", "__dsh__", "__default__"], [".", " ", "-", "default"]);
                    return a
                };
                j.getPlaylistItem = function(a) {
                    g.exists(a) ||
                        (a = j.getPlaylistIndex());
                    return j.getPlaylist()[a]
                };
                j.getPlaylistIndex = function() {
                    return k("jwGetPlaylistIndex")
                };
                j.getPosition = function() {
                    return k("jwGetPosition")
                };
                j.getRenderingMode = function() {
                    return j.renderingMode
                };
                j.getState = function() {
                    return k("jwGetState")
                };
                j.getVolume = function() {
                    return k("jwGetVolume")
                };
                j.getWidth = function() {
                    return k("jwGetWidth")
                };
                j.setFullscreen = function(a) {
                    g.exists(a) ? k("jwSetFullscreen", a) : k("jwSetFullscreen", !k("jwGetFullscreen"));
                    return j
                };
                j.setMute = function(a) {
                    g.exists(a) ?
                        k("jwSetMute", a) : k("jwSetMute", !k("jwGetMute"));
                    return j
                };
                j.lock = function() {
                    return j
                };
                j.unlock = function() {
                    return j
                };
                j.load = function(a) {
                    k("jwLoad", a);
                    return j
                };
                j.playlistItem = function(a) {
                    k("jwPlaylistItem", parseInt(a, 10));
                    return j
                };
                j.playlistPrev = function() {
                    k("jwPlaylistPrev");
                    return j
                };
                j.playlistNext = function() {
                    k("jwPlaylistNext");
                    return j
                };
                j.resize = function(a, b) {
                    if ("flash" !== j.renderingMode) k("jwResize", a, b);
                    else {
                        var d = c.getElementById(j.id + "_wrapper"),
                            f = c.getElementById(j.id + "_aspect");
                        f && (f.style.display =
                            "none");
                        d && (d.style.display = "block", d.style.width = g.styleDimension(a), d.style.height = g.styleDimension(b))
                    }
                    return j
                };
                j.play = function(b) {
                    b === a ? (b = j.getState(), b == d.PLAYING || b == d.BUFFERING ? k("jwPause") : k("jwPlay")) : k("jwPlay", b);
                    return j
                };
                j.pause = function(b) {
                    b === a ? (b = j.getState(), b == d.PLAYING || b == d.BUFFERING ? k("jwPause") : k("jwPlay")) : k("jwPause", b);
                    return j
                };
                j.stop = function() {
                    k("jwStop");
                    return j
                };
                j.seek = function(a) {
                    k("jwSeek", a);
                    return j
                };
                j.setVolume = function(a) {
                    k("jwSetVolume", a);
                    return j
                };
                j.createInstream =
                    function() {
                        return new m.instream(this, r)
                    };
                j.setInstream = function(a) {
                    return x = a
                };
                j.loadInstream = function(a, b) {
                    x = j.setInstream(j.createInstream()).init(b);
                    x.loadItem(a);
                    return x
                };
                j.getQualityLevels = function() {
                    return k("jwGetQualityLevels")
                };
                j.getCurrentQuality = function() {
                    return k("jwGetCurrentQuality")
                };
                j.setCurrentQuality = function(a) {
                    k("jwSetCurrentQuality", a)
                };
                j.getCaptionsList = function() {
                    return k("jwGetCaptionsList")
                };
                j.getCurrentCaptions = function() {
                    return k("jwGetCurrentCaptions")
                };
                j.setCurrentCaptions =
                    function(a) {
                        k("jwSetCurrentCaptions", a)
                    };
                j.getControls = function() {
                    return k("jwGetControls")
                };
                j.getSafeRegion = function() {
                    return k("jwGetSafeRegion")
                };
                j.setControls = function(a) {
                    k("jwSetControls", a)
                };
                j.destroyPlayer = function() {
                    k("jwPlayerDestroy")
                };
                j.playAd = function(a) {
                    var b = e(j.id).plugins;
                    b.vast && b.vast.jwPlayAd(a)
                };
                j.pauseAd = function() {
                    var a = e(j.id).plugins;
                    a.vast ? a.vast.jwPauseAd() : k("jwPauseAd")
                };
                var y = {
                    onBufferChange: f.JWPLAYER_MEDIA_BUFFER,
                    onBufferFull: f.JWPLAYER_MEDIA_BUFFER_FULL,
                    onError: f.JWPLAYER_ERROR,
                    onSetupError: f.JWPLAYER_SETUP_ERROR,
                    onFullscreen: f.JWPLAYER_FULLSCREEN,
                    onMeta: f.JWPLAYER_MEDIA_META,
                    onMute: f.JWPLAYER_MEDIA_MUTE,
                    onPlaylist: f.JWPLAYER_PLAYLIST_LOADED,
                    onPlaylistItem: f.JWPLAYER_PLAYLIST_ITEM,
                    onPlaylistComplete: f.JWPLAYER_PLAYLIST_COMPLETE,
                    onReady: f.API_READY,
                    onResize: f.JWPLAYER_RESIZE,
                    onComplete: f.JWPLAYER_MEDIA_COMPLETE,
                    onSeek: f.JWPLAYER_MEDIA_SEEK,
                    onTime: f.JWPLAYER_MEDIA_TIME,
                    onVolume: f.JWPLAYER_MEDIA_VOLUME,
                    onBeforePlay: f.JWPLAYER_MEDIA_BEFOREPLAY,
                    onBeforeComplete: f.JWPLAYER_MEDIA_BEFORECOMPLETE,
                    onDisplayClick: f.JWPLAYER_DISPLAY_CLICK,
                    onControls: f.JWPLAYER_CONTROLS,
                    onQualityLevels: f.JWPLAYER_MEDIA_LEVELS,
                    onQualityChange: f.JWPLAYER_MEDIA_LEVEL_CHANGED,
                    onCaptionsList: f.JWPLAYER_CAPTIONS_LIST,
                    onCaptionsChange: f.JWPLAYER_CAPTIONS_CHANGED,
                    onAdError: f.JWPLAYER_AD_ERROR,
                    onAdClick: f.JWPLAYER_AD_CLICK,
                    onAdImpression: f.JWPLAYER_AD_IMPRESSION,
                    onAdTime: f.JWPLAYER_AD_TIME,
                    onAdComplete: f.JWPLAYER_AD_COMPLETE,
                    onAdCompanions: f.JWPLAYER_AD_COMPANIONS,
                    onAdSkipped: f.JWPLAYER_AD_SKIPPED
                };
                g.foreach(y, function(a) {
                    j[a] =
                        l(y[a], n)
                });
                var B = {
                    onBuffer: d.BUFFERING,
                    onPause: d.PAUSED,
                    onPlay: d.PLAYING,
                    onIdle: d.IDLE
                };
                g.foreach(B, function(a) {
                    j[a] = l(B[a], h)
                });
                j.remove = function() {
                    if (!v) throw "Cannot call remove() before player is ready";
                    w = [];
                    m.destroyPlayer(this.id)
                };
                j.setup = function(a) {
                    if (e.embed) {
                        var b = c.getElementById(j.id);
                        b && (a.fallbackDiv = b);
                        b = j;
                        w = [];
                        m.destroyPlayer(b.id);
                        b = e(j.id);
                        b.config = a;
                        (new e.embed(b)).embed();
                        return b
                    }
                    return j
                };
                j.registerPlugin = function(a, b, c, d) {
                    e.plugins.registerPlugin(a, b, c, d)
                };
                j.setPlayer = function(a,
                    b) {
                    r = a;
                    j.renderingMode = b
                };
                j.detachMedia = function() {
                    if ("html5" == j.renderingMode) return k("jwDetachMedia")
                };
                j.attachMedia = function(a) {
                    if ("html5" == j.renderingMode) return k("jwAttachMedia", a)
                };
                j.removeEventListener = function(a, b) {
                    var c = u[a];
                    if (c)
                        for (var d = c.length; d--;) c[d] === b && c.splice(d, 1)
                };
                j.dispatchEvent = function(a, b) {
                    var c = u[a];
                    if (c)
                        for (var c = c.slice(0), d = g.translateEventResponse(a, b), e = 0; e < c.length; e++) {
                            var k = c[e];
                            if ("function" === typeof k) try {
                                a === f.JWPLAYER_PLAYLIST_LOADED && g.deepReplaceKeyName(d.playlist, ["__dot__", "__spc__", "__dsh__", "__default__"], [".", " ", "-", "default"]), k.call(this, d)
                            } catch (h) {
                                g.log("There was an error calling back an event handler")
                            }
                        }
                };
                j.dispatchInstreamEvent = function(a) {
                    x && x.dispatchEvent(a, arguments)
                };
                j.callInternal = k;
                j.playerReady = function(a) {
                    v = !0;
                    r || j.setPlayer(c.getElementById(a.id));
                    j.container = c.getElementById(j.id);
                    g.foreach(u, function(a) {
                        q(r, a)
                    });
                    n(f.JWPLAYER_PLAYLIST_ITEM, function() {
                        z = {}
                    });
                    n(f.JWPLAYER_MEDIA_META, function(a) {
                        g.extend(z, a.metadata)
                    });
                    for (j.dispatchEvent(f.API_READY); 0 <
                        w.length;) k.apply(this, w.shift())
                };
                j.getItemMeta = function() {
                    return z
                };
                j.isBeforePlay = function() {
                    return k("jwIsBeforePlay")
                };
                j.isBeforeComplete = function() {
                    return k("jwIsBeforeComplete")
                };
                return j
            };
        m.selectPlayer = function(a) {
            var d;
            g.exists(a) || (a = 0);
            a.nodeType ? d = a : "string" == typeof a && (d = c.getElementById(a));
            return d ? (a = m.playerById(d.id)) ? a : m.addPlayer(new m(d)) : "number" == typeof a ? l[a] : null
        };
        m.playerById = function(a) {
            for (var c = 0; c < l.length; c++)
                if (l[c].id == a) return l[c];
            return null
        };
        m.addPlayer = function(a) {
            for (var c =
                    0; c < l.length; c++)
                if (l[c] == a) return a;
            l.push(a);
            return a
        };
        m.destroyPlayer = function(a) {
            for (var d = -1, f, e = 0; e < l.length; e++) l[e].id == a && (d = e, f = l[e]);
            0 <= d && (a = f.id, e = c.getElementById(a + ("flash" == f.renderingMode ? "_wrapper" : "")), g.clearCss && g.clearCss("#" + a), e && ("html5" == f.renderingMode && f.destroyPlayer(), f = c.createElement("div"), f.id = a, e.parentNode.replaceChild(f, e)), l.splice(d, 1));
            return null
        };
        e.playerReady = function(a) {
            var c = e.api.playerById(a.id);
            c ? c.playerReady(a) : e.api.selectPlayer(a.id).playerReady(a)
        }
    }(window.jwplayer),
    function(e) {
        var a = e.events,
            l = e.utils,
            g = a.state;
        e.api.instream = function(f, d) {
            function c(a, b) {
                h[a] || (h[a] = [], d.jwInstreamAddEventListener(a, 'function(dat) { jwplayer("' + f.id + '").dispatchInstreamEvent("' + a + '", dat); }'));
                h[a].push(b);
                return this
            }

            function e(b, d) {
                q[b] || (q[b] = [], c(a.JWPLAYER_PLAYER_STATE, function(a) {
                    var c = a.newstate,
                        d = a.oldstate;
                    if (c == b) {
                        var e = q[c];
                        if (e)
                            for (var f = 0; f < e.length; f++) {
                                var g = e[f];
                                "function" == typeof g && g.call(this, {
                                    oldstate: d,
                                    newstate: c,
                                    type: a.type
                                })
                            }
                    }
                }));
                q[b].push(d);
                return this
            }
            var b, p, h = {},
                q = {},
                n = this;
            n.type = "instream";
            n.init = function() {
                f.callInternal("jwInitInstream");
                return n
            };
            n.loadItem = function(a, c) {
                b = a;
                p = c || {};
                "array" == l.typeOf(a) ? f.callInternal("jwLoadArrayInstream", b, p) : f.callInternal("jwLoadItemInstream", b, p)
            };
            n.removeEvents = function() {
                h = q = {}
            };
            n.removeEventListener = function(a, b) {
                var c = h[a];
                if (c)
                    for (var d = c.length; d--;) c[d] === b && c.splice(d, 1)
            };
            n.dispatchEvent = function(a, b) {
                var c = h[a];
                if (c)
                    for (var c = c.slice(0), d = l.translateEventResponse(a, b[1]), e = 0; e < c.length; e++) {
                        var f =
                            c[e];
                        "function" == typeof f && f.call(this, d)
                    }
            };
            n.onError = function(b) {
                return c(a.JWPLAYER_ERROR, b)
            };
            n.onMediaError = function(b) {
                return c(a.JWPLAYER_MEDIA_ERROR, b)
            };
            n.onFullscreen = function(b) {
                return c(a.JWPLAYER_FULLSCREEN, b)
            };
            n.onMeta = function(b) {
                return c(a.JWPLAYER_MEDIA_META, b)
            };
            n.onMute = function(b) {
                return c(a.JWPLAYER_MEDIA_MUTE, b)
            };
            n.onComplete = function(b) {
                return c(a.JWPLAYER_MEDIA_COMPLETE, b)
            };
            n.onPlaylistComplete = function(b) {
                return c(a.JWPLAYER_PLAYLIST_COMPLETE, b)
            };
            n.onPlaylistItem = function(b) {
                return c(a.JWPLAYER_PLAYLIST_ITEM,
                    b)
            };
            n.onTime = function(b) {
                return c(a.JWPLAYER_MEDIA_TIME, b)
            };
            n.onBuffer = function(a) {
                return e(g.BUFFERING, a)
            };
            n.onPause = function(a) {
                return e(g.PAUSED, a)
            };
            n.onPlay = function(a) {
                return e(g.PLAYING, a)
            };
            n.onIdle = function(a) {
                return e(g.IDLE, a)
            };
            n.onClick = function(b) {
                return c(a.JWPLAYER_INSTREAM_CLICK, b)
            };
            n.onInstreamDestroyed = function(b) {
                return c(a.JWPLAYER_INSTREAM_DESTROYED, b)
            };
            n.onAdSkipped = function(b) {
                return c(a.JWPLAYER_AD_SKIPPED, b)
            };
            n.play = function(a) {
                d.jwInstreamPlay(a)
            };
            n.pause = function(a) {
                d.jwInstreamPause(a)
            };
            n.hide = function() {
                f.callInternal("jwInstreamHide")
            };
            n.destroy = function() {
                n.removeEvents();
                f.callInternal("jwInstreamDestroy")
            };
            n.setText = function(a) {
                d.jwInstreamSetText(a ? a : "")
            };
            n.getState = function() {
                return d.jwInstreamState()
            };
            n.setClick = function(a) {
                d.jwInstreamClick && d.jwInstreamClick(a)
            }
        }
    }(window.jwplayer),
    function(e) {
        var a = e.api,
            l = a.selectPlayer;
        a.selectPlayer = function(a) {
            return (a = l(a)) ? a : {
                registerPlugin: function(a, d, c) {
                    e.plugins.registerPlugin(a, d, c)
                }
            }
        }
    }(jwplayer));